/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package kbclient;

import java.util.Observable;
import javax.swing.DefaultListModel;
import java.awt.event.ActionListener;

/**
 * @author Psychoray
 */
public class View extends javax.swing.JFrame implements java.util.Observer {
    
    // Global variables
    
    /**
     * Creates new form View
     */
    public View() {
        
        initComponents();
        
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        articleInfoPaneSmall = new javax.swing.JPanel();
        tagField = new javax.swing.JTextField();
        selectCategoryPullDown = new javax.swing.JComboBox();
        authorField = new javax.swing.JTextField();
        searchPane = new javax.swing.JPanel();
        searchButton = new javax.swing.JButton();
        searchField = new javax.swing.JTextField();
        articlePane = new javax.swing.JPanel();
        articleContent = new javax.swing.JFormattedTextField();
        articleTitle = new javax.swing.JTextField();
        categoryPane = new javax.swing.JPanel();
        tabPane = new javax.swing.JTabbedPane();
        articleTab = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        informationCategoriesList = new javax.swing.JList();
        jLabel1 = new javax.swing.JLabel();
        problemTab = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        problemCategoriesList = new javax.swing.JList();
        jLabel2 = new javax.swing.JLabel();
        allTab = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();
        allCategoriesList = new javax.swing.JList();
        jLabel3 = new javax.swing.JLabel();
        categoryButton = new javax.swing.JButton();
        articleInfoPaneLarge = new javax.swing.JPanel();
        dateAddLabel = new javax.swing.JLabel();
        dateChangedLabel = new javax.swing.JLabel();
        dateAddedField = new javax.swing.JTextField();
        dateChangedField = new javax.swing.JTextField();
        editorLabel = new javax.swing.JLabel();
        editorField = new javax.swing.JTextField();
        dateAddButton = new javax.swing.JButton();
        dateChangedButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setMinimumSize(new java.awt.Dimension(600, 400));

        tagField.setText("Tags");
        tagField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                tagFieldActionPerformed(evt);
            }
        });

        selectCategoryPullDown.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
        selectCategoryPullDown.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                selectCategoryPullDownPullDownActionPerformed(evt);
            }
        });

        authorField.setText("Auteur");

        javax.swing.GroupLayout articleInfoPaneSmallLayout = new javax.swing.GroupLayout(articleInfoPaneSmall);
        articleInfoPaneSmall.setLayout(articleInfoPaneSmallLayout);
        articleInfoPaneSmallLayout.setHorizontalGroup(
            articleInfoPaneSmallLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(tagField, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addComponent(authorField, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addComponent(selectCategoryPullDown, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        articleInfoPaneSmallLayout.setVerticalGroup(
            articleInfoPaneSmallLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, articleInfoPaneSmallLayout.createSequentialGroup()
                .addComponent(authorField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(selectCategoryPullDown, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(tagField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        searchButton.setText("Go");
        searchButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                searchButtonActionPerformed(evt);
            }
        });

        searchField.setText("Search...");
        searchField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                searchFieldActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout searchPaneLayout = new javax.swing.GroupLayout(searchPane);
        searchPane.setLayout(searchPaneLayout);
        searchPaneLayout.setHorizontalGroup(
            searchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(searchPaneLayout.createSequentialGroup()
                .addComponent(searchButton)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(searchField, javax.swing.GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
                .addContainerGap())
        );
        searchPaneLayout.setVerticalGroup(
            searchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, searchPaneLayout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(searchPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(searchButton, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(searchField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(36, 36, 36))
        );

        articleContent.setText("Content");

        articleTitle.setText("Titel");

        javax.swing.GroupLayout articlePaneLayout = new javax.swing.GroupLayout(articlePane);
        articlePane.setLayout(articlePaneLayout);
        articlePaneLayout.setHorizontalGroup(
            articlePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(articleContent)
            .addComponent(articleTitle)
        );
        articlePaneLayout.setVerticalGroup(
            articlePaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, articlePaneLayout.createSequentialGroup()
                .addComponent(articleTitle, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(articleContent))
        );

        tabPane.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));

        informationCategoriesList.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane2.setViewportView(informationCategoriesList);

        jLabel1.setText("Categorieen");

        javax.swing.GroupLayout articleTabLayout = new javax.swing.GroupLayout(articleTab);
        articleTab.setLayout(articleTabLayout);
        articleTabLayout.setHorizontalGroup(
            articleTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jLabel1, javax.swing.GroupLayout.DEFAULT_SIZE, 258, Short.MAX_VALUE)
            .addComponent(jScrollPane2)
        );
        articleTabLayout.setVerticalGroup(
            articleTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(articleTabLayout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE))
        );

        tabPane.addTab("Informatie", articleTab);

        problemCategoriesList.setModel(new javax.swing.AbstractListModel() {
            String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        jScrollPane3.setViewportView(problemCategoriesList);

        jLabel2.setText("Categorieen");

        javax.swing.GroupLayout problemTabLayout = new javax.swing.GroupLayout(problemTab);
        problemTab.setLayout(problemTabLayout);
        problemTabLayout.setHorizontalGroup(
            problemTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, 258, Short.MAX_VALUE)
            .addComponent(jScrollPane3)
        );
        problemTabLayout.setVerticalGroup(
            problemTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(problemTabLayout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE))
        );

        tabPane.addTab("Probleem", problemTab);

        jScrollPane4.setViewportView(allCategoriesList);

        jLabel3.setText("Categorieen");

        javax.swing.GroupLayout allTabLayout = new javax.swing.GroupLayout(allTab);
        allTab.setLayout(allTabLayout);
        allTabLayout.setHorizontalGroup(
            allTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(jScrollPane4)
        );
        allTabLayout.setVerticalGroup(
            allTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(allTabLayout.createSequentialGroup()
                .addGap(6, 6, 6)
                .addComponent(jLabel3, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(1, 1, 1)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 245, Short.MAX_VALUE))
        );

        tabPane.addTab("Alles", allTab);

        categoryButton.setText("Categorie");

        javax.swing.GroupLayout categoryPaneLayout = new javax.swing.GroupLayout(categoryPane);
        categoryPane.setLayout(categoryPaneLayout);
        categoryPaneLayout.setHorizontalGroup(
            categoryPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(tabPane)
            .addComponent(categoryButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );
        categoryPaneLayout.setVerticalGroup(
            categoryPaneLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(categoryPaneLayout.createSequentialGroup()
                .addComponent(tabPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(categoryButton))
        );

        articleInfoPaneLarge.setBorder(javax.swing.BorderFactory.createTitledBorder("Artikel Informatie"));

        dateAddLabel.setText("Datum aangemaakt");

        dateChangedLabel.setText("Datum gewijzigd");

        dateAddedField.setText("13-03-2012");

        dateChangedField.setText("14-03-2012");

        editorLabel.setText("Laatst aangepast door");

        editorField.setText("Editeur naam");

        dateAddButton.setText("jButton4");

        dateChangedButton.setText("jButton4");

        javax.swing.GroupLayout articleInfoPaneLargeLayout = new javax.swing.GroupLayout(articleInfoPaneLarge);
        articleInfoPaneLarge.setLayout(articleInfoPaneLargeLayout);
        articleInfoPaneLargeLayout.setHorizontalGroup(
            articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(articleInfoPaneLargeLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(dateAddLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(dateChangedLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(dateAddedField, javax.swing.GroupLayout.DEFAULT_SIZE, 119, Short.MAX_VALUE)
                    .addComponent(dateChangedField))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(dateAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(dateChangedButton, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(articleInfoPaneLargeLayout.createSequentialGroup()
                        .addComponent(editorLabel)
                        .addGap(0, 3, Short.MAX_VALUE))
                    .addComponent(editorField))
                .addContainerGap(14, Short.MAX_VALUE))
        );
        articleInfoPaneLargeLayout.setVerticalGroup(
            articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(articleInfoPaneLargeLayout.createSequentialGroup()
                .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(articleInfoPaneLargeLayout.createSequentialGroup()
                        .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(dateAddButton, javax.swing.GroupLayout.PREFERRED_SIZE, 17, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(dateAddLabel)
                                .addComponent(dateAddedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(editorLabel)))
                        .addGap(8, 8, 8)
                        .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(articleInfoPaneLargeLayout.createSequentialGroup()
                                .addComponent(dateChangedButton, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                                .addGap(3, 3, 3))
                            .addGroup(articleInfoPaneLargeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(dateChangedLabel)
                                .addComponent(dateChangedField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
                    .addGroup(articleInfoPaneLargeLayout.createSequentialGroup()
                        .addGap(25, 25, 25)
                        .addComponent(editorField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(13, 13, 13))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(searchPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(categoryPane, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(articleInfoPaneSmall, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(articleInfoPaneLarge, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addComponent(articlePane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(articleInfoPaneSmall, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(articleInfoPaneLarge, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(articlePane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(searchPane, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(categoryPane, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents
    
    /*
     * Update, notified by model
     */
    public void update(Observable obs, Object obj) {
        
    }
    
    public void addController(ActionListener controller){
            System.out.println("View      : adding controller");
            searchButton.addActionListener(controller);	//need instance of controller before can add it as a listener 
    }    
    
    /**
     * @param articleContent the articleContent to set
     */
    public void setArticleContent(String text) {
        articleContent.setText(text);
    }

    /**
     * @param articleTitle the articleTitle to set
     */
    public void setArticleTitle(String text) {
        articleTitle.setText(text);
    }

    /**
     * @param authorField the authorField to set
     */
    public void setAuthorField(String text) {
        authorField.setText(text);
    }

    /**
     * @param dateAddedField the dateAddedField to set
     */
    public void setDateAddedField(String text) {
        dateAddedField.setText(text);
    }

    /**
     * @param dateChangedField the dateChangedField to set
     */
    public void setDateChangedField(String text) {
        dateChangedField.setText(text);
    }

    /**
     * @param editorField the editorField to set
     */
    public void setEditorField(String text) {
        editorField.setText(text);
    }

    /**
     * @param searchField the searchField to set
     */
    public void setSearchField(String text) {
        searchField.setText(text);
    }
    
    public String getSearchField()
    {
        return searchField.getText();
    }

    /**
     * @param tagField the tagField to set
     */
    public void setTagField(String text) {
        tagField.setText(text);
    }

    /**
     * @param model to insert
     */
    public void updateInformationCategoriesList(DefaultListModel model) {
        informationCategoriesList.setModel(model);
    }
    
    /**
     * @param model to insert
     */
    public void updateProblemCategoriesList(DefaultListModel model) {
        problemCategoriesList.setModel(model);
    }
    
    /**
     * @param model to insert
     */
    public void updateAllCategoriesList(DefaultListModel model) {
        allCategoriesList.setModel(model);
    }
    
    private void tagFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tagFieldActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_tagFieldActionPerformed

    private void selectCategoryPullDownPullDownActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectCategoryPullDownPullDownActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_selectCategoryPullDownPullDownActionPerformed

    private void searchFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchFieldActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_searchFieldActionPerformed

    private void searchButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchButtonActionPerformed
        // TODO add your handling code here:
          
        
    }//GEN-LAST:event_searchButtonActionPerformed

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /*
         * Set the Nimbus look and feel
         */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /*
         * If Nimbus (introduced in Java SE 6) is not available, stay with the
         * default look and feel. For details see
         * http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(test.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /*
         * Create and display the form
         */
        java.awt.EventQueue.invokeLater(new Runnable() {
            
            public void run() {
                new View().setVisible(true);
            }
        });
    }
    
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JList allCategoriesList;
    private javax.swing.JPanel allTab;
    private javax.swing.JFormattedTextField articleContent;
    private javax.swing.JPanel articleInfoPaneLarge;
    private javax.swing.JPanel articleInfoPaneSmall;
    private javax.swing.JPanel articlePane;
    private javax.swing.JPanel articleTab;
    private javax.swing.JTextField articleTitle;
    private javax.swing.JTextField authorField;
    private javax.swing.JButton categoryButton;
    private javax.swing.JPanel categoryPane;
    private javax.swing.JButton dateAddButton;
    private javax.swing.JLabel dateAddLabel;
    private javax.swing.JTextField dateAddedField;
    private javax.swing.JButton dateChangedButton;
    private javax.swing.JTextField dateChangedField;
    private javax.swing.JLabel dateChangedLabel;
    private javax.swing.JTextField editorField;
    private javax.swing.JLabel editorLabel;
    private javax.swing.JList informationCategoriesList;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JList problemCategoriesList;
    private javax.swing.JPanel problemTab;
    private javax.swing.JButton searchButton;
    private javax.swing.JTextField searchField;
    private javax.swing.JPanel searchPane;
    private javax.swing.JComboBox selectCategoryPullDown;
    private javax.swing.JTabbedPane tabPane;
    private javax.swing.JTextField tagField;
    // End of variables declaration//GEN-END:variables




}
